/*
 * Copyright (c) 2019-2020, https://api.iot.10086.cn/(https://gitee.com/cmcc-iot-api/iot-card-open-application/).
 */
package cn.iot.card.open.ec.dto.smartvoice;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 语音参数查询信息
 *
 * @author cmcc-iot-api
 * @date 20200102 15:06:46
 */
public class GroupVoiceDTO implements Serializable {

    private static final long serialVersionUID = -8140844420983141204L;

    /**
     * 群组Id
     */
    private String groupId;

    /**
     * 群组名称
     */
    private String groupName;

    /**
     * 群组类型
     * 1：普通企业
     * 2：集群类企业
     */
    private String groupType;

    /**
     * 企业通话阈值的计费范围
     * 1: 针对主叫、被叫、前转均计费（默认填写）
     * 0：只针对主叫计费
     */
    private String thresRange;

    /**
     * 限制区域信息
     * 0: 不闭锁（默认值）
     * 1: 一级闭锁
     * 2：二级闭锁
     * 注：对于企业闭锁，分为一级闭锁与二级闭锁两种情况；一级闭锁禁止企业内用户所有被叫呼叫，二级闭锁允许该系统及该企业特服号码呼叫用户，而禁止其他被叫呼叫
     */
    private String calledLock;

    /**
     * 自动前转特服号码
     */
    private String forwardNumber;

    /**
     * 企业客户成员通话参数
     * 包含企业客户成员级别、企业客户成员个人通话阀值，两者1:1关系。
     * 1.企业客户成员级别指企业客户成员个人通话阀值的级别。比如：1代表级别1，注：UserClass应为从1开始的整数，不能为0；
     * 2.企业客户成员个人通话阀值，企业客户成员账户，指企业客户成员个人通话阀值（每月可通话分钟数）。比如：10，代表级别1的成员拨打白名单外电话的分钟数为10分钟。如果白名单外不允许拨打则填写0。注：到了阈值不中断通信，仅在话单字段中有区分显示
     */
    private List<CallParamDTO> callParamList = new ArrayList<>();

    public String getGroupId() {
        return groupId;
    }

    public void setGroupId(String groupId) {
        this.groupId = groupId;
    }

    public String getGroupName() {
        return groupName;
    }

    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }

    public String getGroupType() {
        return groupType;
    }

    public void setGroupType(String groupType) {
        this.groupType = groupType;
    }

    public String getThresRange() {
        return thresRange;
    }

    public void setThresRange(String thresRange) {
        this.thresRange = thresRange;
    }

    public List<CallParamDTO> getCallParamList() {
        return callParamList;
    }

    public void setCallParamList(List<CallParamDTO> callParamList) {
        this.callParamList = callParamList;
    }

    public String getCalledLock() {
        return calledLock;
    }

    public void setCalledLock(String calledLock) {
        this.calledLock = calledLock;
    }

    public String getForwardNumber() {
        return forwardNumber;
    }

    public void setForwardNumber(String forwardNumber) {
        this.forwardNumber = forwardNumber;
    }

    @Override
    public String toString() {
        return "GroupVoiceDTO{" +
                "groupId='" + groupId + '\'' +
                ", groupName='" + groupName + '\'' +
                ", groupType='" + groupType + '\'' +
                ", thresRange='" + thresRange + '\'' +
                ", callParamList=" + callParamList +
                ", calledLock='" + calledLock + '\'' +
                ", forwardNumber='" + forwardNumber + '\'' +
                '}';
    }
}
